Repository navigation
ci(docker-publish): wait until npm serves the CLI's install tree before the image build - #25674
Merged
Merged
Conversation
…re the image build On a release, the Docker job starts about a minute after `changeset publish` returns. npm can still answer 404 for some of the fixed group's tarballs then, so the image's `npm install -g` failed on 18.1.0 (spec-18.1.0.tgz). A new step walks @objectstack/cli@VERSION's @objectstack/* dependency tree on the registry and waits, with bounded backoff (10 min), until every manifest and tarball answers 200. On a timeout it names each package that is still missing. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LKHDniRQSWjRJyDtacwpEd
os-zhuang
approved these changes
Oct 24, 2026
os-zhuang
marked this pull request as ready for review
October 24, 2026 15:10
os-zhuang
enabled auto-merge
October 24, 2026 15:10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #25613
Clause-②: no
Metadata-protocol: none
On a release, the Docker image job starts about a minute after
changeset publishreturns. At that point npm can still answer 404 for some of the fixed group's tarballs. On 18.1.0 that made the image build fail:npm install -g @objectstack/cli@18.1.0got E404 onspec-18.1.0.tgz(release run 40078805767, job 120834761830). The same URL answered 200 a few minutes later.What changed
.github/workflows/docker-publish.ymlgets a new step,Wait until npm serves the CLI's install tree, betweenValidate version inputand the image build. Its inline Node script:@objectstack/cli@VERSION's@objectstack/*dependency tree on the registry, starting from the CLI's own manifest and followingdependencies(each range's operator is stripped, because the group is lockstep);HEADon itsdist.tarballto answer 200;::error::per package still missing and exits 1;Both callers get it:
workflow_callfromrelease.ymlandworkflow_dispatch. A rebuild of a version that is already out passes in seconds.Local verification
These runs used the extracted script, with Node 22 against the live registry:
VERSION=18.1.0npm serves @objectstack/cli@18.1.0 and 54 @objectstack/* dependencies.exit 0, about 20 sVERSION=18.0.0VERSION=99.0.0, deadline shortened to 20 s::error::npm does not serve @objectstack/cli@99.0.0 …, exit 1node scripts/pm/dispatch-gates.mjs --ran: 39 derived families, 39 run, all exit 0.check-governed-merges.mjs --branch HEAD: GOVERNED, tier H (.github/workflows/**), 66 changed lines.Acceptance notes
changeset publish, before npm serves the fixed group's tarballs, so the image build 404s (18.1.0: spec-18.1.0.tgz) #25613 is comment 6385843623, and it names this branch.skip-changeset. No published package is touched; the PR changes only a workflow.🤖 Generated with Claude Code
https://claude.ai/code/session_01LKHDniRQSWjRJyDtacwpEd